using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("HeroicBrawlRewardDisplay")]
	public class HeroicBrawlRewardDisplay : MonoBehaviour
	{
		[Attribute38("HeroicBrawlRewardDisplay.RewardVisuals")]
		public class RewardVisuals : MonoClass
		{
			public bool DropBox => method_2<bool>("DropBox");

			public bool ShatterDialog => method_2<bool>("ShatterDialog");

			public int DustPerBottleMin => method_2<int>("DustPerBottleMin");

			public int DustPerBottleMax => method_2<int>("DustPerBottleMax");

			public int GoldPerBagMin => method_2<int>("GoldPerBagMin");

			public int GoldPerBagMax => method_2<int>("GoldPerBagMax");

			public Transform m_FinalPacksBone => method_3<Transform>("m_FinalPacksBone");

			public Transform m_FinalGoldBone => method_3<Transform>("m_FinalGoldBone");

			public Transform m_FinalDustBone => method_3<Transform>("m_FinalDustBone");

			public RewardVisuals(IntPtr address, string className)
				: base(address, className)
			{
			}

			public RewardVisuals(IntPtr address)
				: this(address, "RewardVisuals")
			{
			}
		}

		public struct FireworkRewardZone
		{
			public GameObject ZoneRoot;

			public BoxCollider Collider;

			public GameObject PackGameObject;

			public GameObject GoldGameObject;

			public GameObject DustGameObject;

			public BoosterPackReward packReward;

			public ArcaneDustReward dustReward;

			public GoldReward goldReward;
		}

		public struct CardVisuals
		{
			public List<GameObject> m_Cards;

			public List<GameObject> m_CardTargets;
		}

		public struct RewardCardReceived
		{
			public string CardID;

			public TAG_PREMIUM Premium;

			public EntityDef CardEntityDef;

			public GameObject CardGameObject;
		}

		public struct RewardsReceivedData
		{
			public int PackID;

			public int PackCount;

			public int GoldCount;

			public int DustCount;

			public int CardsCount;

			public List<RewardCardReceived> Cards;
		}

		public GameObject m_Root => method_3<GameObject>("m_Root");

		public float m_FirewarksRewardDelayMin => method_2<float>("m_FirewarksRewardDelayMin");

		public float m_FirewarksRewardDelayMax => method_2<float>("m_FirewarksRewardDelayMax");

		public float m_FirewarksRewardHold => method_2<float>("m_FirewarksRewardHold");

		public float m_FireworksRewardRanRot => method_2<float>("m_FireworksRewardRanRot");

		public float m_CardRewardDelay => method_2<float>("m_CardRewardDelay");

		public float m_CardRewardBurstDelay => method_2<float>("m_CardRewardBurstDelay");

		public float m_EndScaleAwayTime => method_2<float>("m_EndScaleAwayTime");

		public float m_CardAnimationTime => method_2<float>("m_CardAnimationTime");

		public NormalButton m_DoneButton => method_3<NormalButton>("m_DoneButton");

		public GameObject m_RewardFireworksRoot => method_3<GameObject>("m_RewardFireworksRoot");

		public List<FireworkRewardZone> m_RewardZones => method_3<Class250<FireworkRewardZone>>("m_RewardZones")?.method_25();

		public GameObject m_FinalRewardsRoot => method_3<GameObject>("m_FinalRewardsRoot");

		public UberText m_BannerUberText => method_3<UberText>("m_BannerUberText");

		public List<RewardVisuals> m_RewardVisuals => method_3<Class251<RewardVisuals>>("m_RewardVisuals")?.method_25();

		public GameObject m_CardsRoot => method_3<GameObject>("m_CardsRoot");

		public List<CardVisuals> m_CardVisuals => method_3<Class250<CardVisuals>>("m_CardVisuals")?.method_25();

		public int m_DebugWins => method_2<int>("m_DebugWins");

		public static string DEFAULT_PREFAB => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "HeroicBrawlRewardDisplay", "DEFAULT_PREFAB");

		public PegUIElement m_HeroicRewardChest => method_3<PegUIElement>("m_HeroicRewardChest");

		public GameObject m_DescText => method_3<GameObject>("m_DescText");

		public List<RewardData> m_Rewards => method_3<Class271<RewardData>>("m_Rewards")?.method_25();

		public RewardsReceivedData m_RewardsReceived => method_2<RewardsReceivedData>("m_RewardsReceived");

		public List<Reward> m_finalRewards => method_3<Class271<Reward>>("m_finalRewards")?.method_25();

		public int m_finalRewardsLoadedCount => method_2<int>("m_finalRewardsLoadedCount");

		public int m_lastZone => method_2<int>("m_lastZone");

		public int m_wins => method_2<int>("m_wins");

		public bool m_fromNotice => method_2<bool>("m_fromNotice");

		public long m_noticeID => method_2<long>("m_noticeID");

		public HeroicBrawlRewardDisplay(IntPtr address, string className)
			: base(address, className)
		{
		}

		public HeroicBrawlRewardDisplay(IntPtr address)
			: this(address, "HeroicBrawlRewardDisplay")
		{
		}

		public static HeroicBrawlRewardDisplay Get()
		{
			return MonoClass.smethod_15<HeroicBrawlRewardDisplay>(TritonHs.MainAssemblyPath, "", "HeroicBrawlRewardDisplay", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void OnEnable()
		{
			method_8("OnEnable");
		}

		public void DebugShowRewards()
		{
			method_8("DebugShowRewards");
		}

		public void Init()
		{
			method_8("Init");
		}

		public void ShowRewardChest()
		{
			method_8("ShowRewardChest");
		}

		public void ShowRewardsCeremony(UIEvent e)
		{
			method_8("ShowRewardsCeremony", e);
		}

		public float GetFireworkRewardDelay()
		{
			return method_11<float>("GetFireworkRewardDelay", Array.Empty<object>());
		}

		public Vector3 ZoneRandomLocalPosition(int zone)
		{
			return method_11<Vector3>("ZoneRandomLocalPosition", new object[1] { zone });
		}

		public void InitRewardsReceived()
		{
			method_8("InitRewardsReceived");
		}

		public int NextRewardZone()
		{
			return method_11<int>("NextRewardZone", Array.Empty<object>());
		}

		public void LoadFinalRewards()
		{
			method_8("LoadFinalRewards");
		}

		public bool IsFinalRewardsLoaded()
		{
			return method_11<bool>("IsFinalRewardsLoaded", Array.Empty<object>());
		}

		public void FinalRewardLoaded(Reward reward, object callbackData)
		{
			method_8("FinalRewardLoaded", reward, callbackData);
		}

		public void AllDone()
		{
			method_8("AllDone");
		}

		public void OnDoneButtonShown(Spell spell, object userData)
		{
			method_8("OnDoneButtonShown", spell, userData);
		}

		public void OnDoneButtonPressed(UIEvent e)
		{
			method_8("OnDoneButtonPressed", e);
		}

		public void LoadRewardCards()
		{
			method_8("LoadRewardCards");
		}

		public void LoadBoosterReward()
		{
			method_8("LoadBoosterReward");
		}

		public List<RewardData> DebugRewards(int wins)
		{
			return method_14<Class271<RewardData>>("DebugRewards", new object[1] { wins })?.method_25();
		}
	}
}
